<?php

namespace App\Models\Train\TrainPoints\Repositories\Interfaces;

use App\Models\Train\TrainPoints\TrainPoint;
use Illuminate\Support\Collection;

interface TrainPointsRepositoryInterface
{
    public function addPoint(array $data): TrainPoint;

    public function findByTrainCodeAndStationCode(string $train_code, string $station_code): ?TrainPoint;

    public function updatePoint(TrainPoint $point, array $data): bool;

    public function listByTrainCode(string $train_code): Collection;
}